package com.loong.loong.hik.api.entity.carPark;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 人员对象特征属性
 * @author jinyiang
 * @date 2023/3/21 17:22
 */
@Data
@TableName("hik_park_people")
public class HikParkPeople {
	/**
	 * 人员编号
	 */
	@NotNull
	@Size(max = 64)
	@TableField("index_code")
	private String indexCode;

	/**
	 * 外部编码（联网编码）
	 */
	@NotNull
	@Size(max = 64)
	@TableField("external_index_code")
	private String externalIndexCode;

	/**
	 * 名称
	 */
	@NotNull
	@Size(max = 256)
	@TableField("cn")
	private String cn;

	/**
	 * 父级资源编号（部门联网编码）
	 */
	@NotNull
	@Size(max = 64)
	@TableField("parent_index_code")
	private String parentIndexCode;

	/**
	 * 所属部门名称
	 */
	@NotNull
	@Size(max = 256)
	@TableField("dept_name")
	private String deptName;

	/**
	 * 性别，编码应符合GB/T 2261.1
	 */
	@NotNull
	@TableField("sex")
	private Integer sex;

	/**
	 * 曾用名
	 */
	@Size(max = 64)
	@TableField("other_name")
	private String otherName;

	/**
	 * 访客人员照片（证件照）地址
	 */
	@Size(max = 128)
	@TableField("photo_url")
	private String photoUrl;

	/**
	 * 年龄
	 */
	@TableField("ag")
	private Integer ag;

	/**
	 * 职业
	 */
	@Size(max = 64)
	@TableField("job")
	private String job;

	/**
	 * 职工性质
	 */
	@Size(max = 64)
	@TableField("staff_property")
	private String staffProperty;

	/**
	 * 工作单位
	 */
	@Size(max = 64)
	@TableField("company")
	private String company;

	/**
	 * 职工号
	 */
	@Size(max = 48)
	@TableField("job_no")
	private String jobNo;

	/**
	 * 职位
	 */
	@Size(max = 48)
	@TableField("employee_post")
	private String employeePost;

	/**
	 * 员工编号
	 */
	@Size(max = 48)
	@TableField("employee_number")
	private String employeeNumber;

	/**
	 * 岗位类别
	 */
	@Size(max = 48)
	@TableField("post_type")
	private String postType;

	/**
	 * 配偶姓名
	 */
	@Size(max = 256)
	@TableField("spouse_name")
	private String spouseName;

	/**
	 * 健康状况
	 */
	@TableField("health")
	private Integer health;

	/**
	 * 家庭住址
	 */
	@Size(max = 64)
	@TableField("address")
	private String address;

	/**
	 * 邮箱
	 */
	@Size(max = 64)
	@TableField("email")
	private String email;

	/**
	 * 电话
	 */
	@Size(max = 32)
	@TableField("phone")
	private String phone;

	/**
	 * 证件类型
	 */
	@Size(max = 48)
	@TableField("identity_type")
	private String identityType;

	/**
	 * 证件号码
	 */
	@Size(max = 48)
	@TableField("id_no")
	private String iDNo;

	/**
	 * 证件有效期起止，格式：yyyyMMdd- yyyyMMdd
	 */
	@Size(max = 64)
	@TableField("id_effective_time")
	private String iDEffectiveTime;

	/**
	 * 国籍
	 */
	@Size(max = 64)
	@TableField("nationality")
	private String nationality;

	/**
	 * nation
	 */
	@Size(max = 64)
	@TableField("nation")
	private String nation;

	/**
	 * 籍贯
	 */
	@Size(max = 64)
	@TableField("birthplace")
	private String birthplace;

	/**
	 * 户籍
	 */
	@Size(max = 64)
	@TableField("census_register")
	private String censusRegister;

	/**
	 * 婚姻状况，编码应符合GB/T 2261.2
	 */
	@TableField("marriaged")
	private Integer marriaged;
	/**
	 * 政治面貌
	 */
	@Size(max = 64)
	@TableField("political_status")
	private String politicalStatus;

	/**
	 * 入党时间
	 */
	@Size(max = 64)
	@TableField("party_time")
	private String partyTime;

	/**
	 * 学历
	 */
	@Size(max = 64)
	@TableField("education_background")
	private String educationBackground;

	/**
	 * 现居住地
	 */
	@Size(max = 64)
	@TableField("curr_residence")
	private String currResidence;

	/**
	 * 房间号
	 */
	@Size(max = 128)
	@TableField("room_num")
	private String roomNum;

	/**
	 * 与户主关系
	 */
	@Size(max = 128)
	@TableField("house_holder_rel")
	private String houseHolderRel;

	/**
	 * 学号
	 */
	@Size(max = 16)
	@TableField("student_id")
	private String studentId;

	/**
	 * 学生入学时间，格式为yyyy-MM-dd
	 */
	@Size(max = 64)
	@TableField("stu_start_time")
	private String stuStartTime;

	/**
	 * 学生毕业时间，格式为yyyy-MM-dd
	 */
	@Size(max = 64)
	@TableField("stu_end_time")
	private String stuEndTime;

	/**
	 * 年级
	 */
	@Size(max = 128)
	@TableField("stu_grade")
	private String stuGrade;

	/**
	 * 班级
	 */
	@Size(max = 128)
	@TableField("stu_class")
	private String stuClass;

	/**
	 * 学院
	 */
	@Size(max = 128)
	@TableField("academy")
	private String academy;

	/**
	 * 学生专业
	 */
	@Size(max = 128)
	@TableField("profession")
	private String profession;

	/**
	 * 宿舍楼
	 */
	@Size(max = 48)
	@TableField("dormitory")
	private String dormitory;

	/**
	 * 是否住校
	 */
	@TableField("lodge")
	private Integer lodge;

	/**
	 * 人员描述
	 */
	@Size(max = 128)
	@TableField("person_desc")
	private String personDesc;

	/**
	 * 同步标志
	 */
	@TableField("sync_flag")
	private Integer syncFlag;

	/**
	 * 拼音
	 */
	@Size(max = 64)
	@TableField("pinyin")
	private String pinyin;

	/**
	 * 发证机构
	 */
	@Size(max = 256)
	@TableField("cert_issuer")
	private String certIssuer;

	/**
	 * 发证地址
	 */
	@Size(max = 256)
	@TableField("cert_addr")
	private String certAddr;

	/**
	 * 证件有效期，格式为yyyy-MM-dd
	 */
	@Size(max = 64)
	@TableField("cert_expire_time")
	private String certExpireTime;

	/**
	 * 创建时间
	 */
	@TableField("create_time")
	private Date createTime;

	/**
	 * 更新时间
	 */
	@TableField("update_time")
	private Date updateTime;

	/**
	 * 扩展信息
	 */
	@Size(max = 512)
	@TableField("extend_data")
	private String extendData;

	/**
	 * 数据状态，0正常，-1删除
	 */
	@TableField("status")
	private Integer status;
}
